"""mydjango URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, re_path, include
from django.views.static import serve
from myapp.views import myindex, pay_url, ctest
from myapp.md_user import ding_url, UploadFile, websocketlink, sendmessage, GetOnLines, TestThread, Myc, \
    testlock
from myapp.edu_user import Register, Login, LoginView, MyCode, Uploader, ding_url, ding_back, GetUserAccess, GetAuth, Gitee, GiteeBack, get_cate, add_course, UpdateUserName, GetJob, UpUser, GetInfo, PutUser, GetUserInfo, UserPower, DingLogin, DingBack, GiteeLogin, GiteeBackBack
from myapp.edu_course import AddCourse, CourseList, ShowCourse, CourseDetail, GetFlow, UserCourse, Score, ScoreAvg

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

# ... the rest of your URLconf goes here ...
urlpatterns = [
    # 定义超链接路由
    # re_path('^static/upload/(?P<path>.*)$',serve,{'document_root':'/static/upload/'}),
    path('', myindex),
    path('testlock/', testlock),
    # path('dingding_url/', ding_url),
    # path('register/', Register.as_view()),
    # path('upload/', UploadFile.as_view()),
    path('websocketlink/', websocketlink),
    path('sendmessage/', sendmessage),
    path('getonlines/', GetOnLines.as_view()),
    path('testthread/', TestThread),
    path('code/', Myc.as_view()),
    path('register/', Register.as_view()),  # 注册
    path('login/', Login.as_view()),        # 登录
    path('login2/', LoginView.as_view()),    # 登录2
    path('mycode/', MyCode.as_view()),      # 图片验证码
    path('uploader/', Uploader.as_view()),    # 文件上传
    # path('headfile/', HeadFile.as_view())       # 展示头像图片
    path('ding_url/', ding_url),         # 钉钉登录url
    path('dingding_back/', ding_back),        # 钉钉回调路由
    path('ctest/', ctest),              # 异步调用调试
    path('getuseraccess/', GetUserAccess.as_view()),  # 查看所有权限，给用户增加权限
    path('getauth/', GetAuth.as_view()),        # 查看某个用户权限
    path('gitee/', Gitee.as_view()),          # 码云登录
    path('gitee_back/', GiteeBack.as_view()),   # 码云回调路由
    path('get_cate/',get_cate),             # 查看课程分类
    path('course/',add_course),         # 添加课程
    path('courseadd/', AddCourse.as_view()),    # 添加课程
    path('courselist/', CourseList.as_view()),  # 课程列表
    path('show_course/', ShowCourse.as_view()), # 课程详情
    path('coursedetail/', CourseDetail.as_view()),  # 课程详情
    path('getflow/', GetFlow.as_view()),         # 课程关注
    path('usercourse/', UserCourse.as_view()),   # 展示用户关注的课程
    path('score/', Score.as_view()),        # 打分接口
    path('scoreavg/', ScoreAvg.as_view()),      # 课程平均分
    path('upusername/', UpdateUserName.as_view()),      # 修改用户名
    path('getjob/', GetJob.as_view()),      # 出队
    path('upuser/', UpUser.as_view()),      # 入队redis
    path('info/', GetInfo.as_view()),       # 出队redis
    path('putuser/', PutUser.as_view()),     # 调用线程池修改用户名
    path('getuserinfo/', GetUserInfo.as_view()),    # 查看用户权限
    path('userpower/', UserPower.as_view()),        # 权限管理
    path('dinglogin/', DingLogin.as_view()),        # 钉钉登录
    path('ding_back/', DingBack.as_view()),         # 钉钉回调
    path('giteelogin/', GiteeLogin.as_view()),      # 码云登录
    path('giteeback/', GiteeBackBack.as_view()),    # 码云回调

    path('', include('practical_training.urls')),

]

urlpatterns += staticfiles_urlpatterns()

# urlpatterns += [path(r'^static/(?P<path>.*)$', serve,{'document_root':'/static/upload/'})]
